export default function (meta, vm) {
  function initState() {
    vm.setState("is_entity_special", (args) => {
      return args.data?.entity;
    });

    vm.setState("is_enum_special", (args) => {
      return args.data?.enum;
    });

    vm.setState("is_not_intr_and_enum", (args) => {
      return !(args.data?.interface || args.data?.enum);
    });

    vm.setState("has_properties", (args) => {
      return args.data?.entity || args.data?.interface;
    });

    vm.setState("has_impls", (args) => {
      return args.data?.entity || args.data?.interface;
    });

    vm.setState("has_enums", (args) => {
      return args.data?.enum;
    });

    vm.setState("has_composits", (args) => {
      return args.data?.entity;
    });
  }
  return {
    onInit: function () {
      initState();
    }
  }
}